1. Technical Field
This invention relates to a process of retrieving a list of files, based upon specified search criteria into a computer's memory, and providing said list to other file processors to act upon selectively.
2. Description of Prior Art
Many computer operating system enable the computer's disk storage system to be structured into directories that can be arranged hierarchically, relative to each other. Examples of such operating systems are UNIX, XENIX, DOS, OS/2. Such systems provide an efficient means for organizing a large number of files.
UNIX is a registered trademark of AT&T Bell Laboratories. XENIX is a registered trademark of Microsoft Corporation. MS-DOS is a registered trademark of Microsoft Corporation. OS/2 is a trademark of International Business Machines Corporation.
One of the major frustrations of working with such systems, is the need to specify the path to the directory to access any file resident therein.
Several software products have addressed this problem by presenting a graphical representation of the directory hierarchy or the tree as it is more commonly called. The user can roam through the tree, position on a single directory and access the files within it.
Other software products have been developed based on the premise that the user may not always know where a particular file resides. Indeed, the user may not even know the name of the file but may need to locate files based on some string within the file.
Accordingly, software programs exist that can search an entire disk for files matching a given file specification or files that contain a given string. The path and the names of the files retrieved may be displayed on the screen or printed.
However, it would be highly desirable to make the files retrieved by the above process available to other file processors like edit, copy, move, delete, etc. For example, a user might like to gather together all files with the extension BAT, edit some as as desired and move some to a directory named BATCH. Or a user might like to view all letters addressed to Mary Jones.
No existing program is apparently able to perform either of the above tasks.
One of the more powerful commands available on any system is the command FIND in UNIX (Coffin 1988 UNIX: The Complete Reference, pgs. 169-173). FIND can retrieve files based on information about that file such as file name, size, attributes, etc. i.e. directory information about that file. FIND also is able to execute any command on the files retrieved. However, FIND lacks the ability to execute any command selectively only on some of the files retrieved. FIND also lacks the ability to retrieve files based on the information contained inside the file, such as a string. FIND is also difficult to use.
SEARCH is the name of an utility from PC Magazine (Somerson 1988 P. C. Magazine DOS Power Tools, pgs. 1101-1102). SEARCH can retrieve files based on a file specification and a string, and display or print the file names. SEARCH cannot execute any command on the retrieved files.
Searching for strings within large files can be very time consuming. Quite often, the string is on the first page of the file or can be placed on the first page or block of the file by building a table of contents. For example, programmers often need to determine which programs call a particular routine. The list of routines called is usually placed right at the top of the program. Therefore, if the subroutine is not found within the first few thousand bytes, it is pointless to search the entire file. Accordingly, it would be useful to provide the user the option to limit the string search to less than the entire file.
Another draw back of existing products is that the retrieved files are displayed in the order in which they are stored in the disk storage system. It would be desirable to have the list of retrieved files sorted alphabetically.